#ifndef INIT_ENTERA_CPU_CU
#define INIT_ENTERA_CPU_CU

#include "../fitness/fitnessEntera.cuh"

void inicializarPoblacionEnteraCPUManual(int* poblacion, float* fitnessActual, MersenneTwister *mt, int cantCromosomasPoblacion, float* fitnessOrdenadoHostCPU, unsigned long * numerosAleatoriosInicializacion){
	//Obtengo posicion a escribir.
	int posicionCromosoma = 0;
	int posicionFitness = 0;

	for(int i = 0; i<cantGenesEnCromosoma * cantidadPoblacionesCPU * cantCromosomasPoblacion; i++){
		//Genero valor aleatorio.
		unsigned int r = (numerosAleatoriosInicializacion[posicionCromosoma+i] % 10);
		poblacion[posicionCromosoma+i] = r;
	}

	for(int i = 0; i< cantidadPoblacionesCPU * cantCromosomasPoblacion; i++){
		fitnessActual[posicionFitness] = calcularFitnessEnteraCPU(poblacion, posicionCromosoma);
		fitnessOrdenadoHostCPU[posicionFitness] = fitnessActual[posicionFitness];
		posicionFitness++;
		posicionCromosoma = posicionCromosoma + cantGenesEnCromosoma;
	}
}

#endif
